#pragma once

#include <string>
#include <jsoncpp/json/json.h>

namespace WordMemory
{
    struct WordStatus
    {
        int id;
        int user_id;
        int word_id;
        std::string status; // "forgot", "vague", "known"

        WordStatus(int id = 0, int user_id = 0, int word_id = 0, const std::string& status = "")
            : id(id), user_id(user_id), word_id(word_id), status(status)
        {
        }

        Json::Value to_json() const
        {
            Json::Value json;
            json["id"] = id;
            json["user_id"] = user_id;
            json["word_id"] = word_id;
            json["status"] = status;
            return json;
        }

        void from_json(const Json::Value& json)
        {
            id = json["id"].asInt();
            user_id = json["user_id"].asInt();
            word_id = json["word_id"].asInt();
            status = json["status"].asString();
        }
    };
}